# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_luaversions="5.1 5.2 5.3"
pkgname=lua-crypto
pkgver=0.3.2
pkgrel=6
pkgdesc="a Lua frontend to the OpenSSL cryptographic library"
url="http://mkottman.github.io/luacrypto/"
arch="all"
license="MIT"
depends=
makedepends="libressl-dev lua-dev"
install=
subpackages="$pkgname-dev $pkgname-doc"
for _v in $_luaversions; do
	makedepends="$makedepends lua$_v-dev"
	subpackages="$subpackages lua$_v-crypto:split_${_v/./_}"
done
source="luacrypto-$pkgver.tar.gz::https://github.com/mkottman/luacrypto/archive/$pkgver.tar.gz
	lua5.1-blank-LUA_CFLAGS-fails-configure.patch"

_builddir="$srcdir"/luacrypto-$pkgver

prepare() {
	cd "$_builddir"
	update_config_sub || return 1
	for i in $_luaversions; do
		mkdir -p build-$i
	done
}
build() {
	cd "$_builddir"
	for i in $_luaversions; do
		msg "build for Lua $i"
		cd build-$i
		LUA_CFLAGS="$(pkg-config lua$i --cflags)" \
		LUA_LIBS="$(pkg-config lua$i --libs)" \
		../configure \
			--host=$CHOST \
			--build=$CBUILD \
			--prefix=/usr \
			|| return 1
		make cryptodir=/usr/lib/lua/$_luaver || return 1
		cd ..
	done
}

package() {
	cd "$_builddir"
	for i in $_luaversions; do
		cd build-$i
		make install DESTDIR="$pkgdir" cryptodir=/usr/lib/lua/$i \
			|| return 1
		cd ..
	done
}

_split() {
	local d= _ver=$1
	pkgdesc="$pkgdesc for Lua $_ver"
	install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
	depends=
	for d in usr/lib/lua usr/share/lua; do
		if [ -d "$pkgdir"/$d/$_ver ]; then
			mkdir -p "$subpkgdir"/$d
			mv "$pkgdir"/$d/$_ver "$subpkgdir"/$d/ || return 1
		fi
	done
}


for _v in $_luaversions; do
	eval "split_${_v/./_}() { _split $_v; }"
done

sha512sums="4cb20d2cc348a11f140210dffb803629034c72cc7232590f4488f559d5c7233e0c41e56fcd0863959ac0b07e64c9aa79ea573e4126fdc11bc3f1b3b49d13343e  luacrypto-0.3.2.tar.gz
cca8745c5b46fa8b3adc237eb1d926c008b6d03637978568537da8c505479272f2b08bbcf1b016883eb783dd88759533aae5fd14fe3d5927b36f54074afdcd34  lua5.1-blank-LUA_CFLAGS-fails-configure.patch"
